package rkw.manager;

import java.util.List;

import rkw.database.model.Election;
import rkw.database.model.Node;
import rkw.gui.DlgCommunicationState;
import core.exceptions.CommunicationInitiationException;
import core.exceptions.PortInUseException;

public interface ManagerController {

	public void setUp() throws CommunicationInitiationException, PortInUseException;

	public void shutDown();

	public Boolean isNodeLocatorUriTaken(String ip, String port);

	public List<Election> getAllElections();

	public boolean canConnect(String locatorURI);

	public List<Node> getNeighborNodes();

	public void checkCommunication(DlgCommunicationState dlgCommunicationState);

	public Node getMainNode();
}
